8) ESP32-DevKitC-32D or 32E の、お勉強
(1)ESP32-DevKitC-32Dの、Arduino IDEへのインストール
ESP32-DevKitC-32Dの、Arduino IDEへのインストールは、Arduino IDEの「ファイル→環境設定→追加のボードマネージャのURL」と進み、https://dl.espressif.com/dl/package_esp32_index.jsonを記入(記述・追加)し、OKを押します。
その後、Arduino IDEの「ツール→ボード→ボードマネージャ」と進み、ボードマネージャを開きます。検索窓にESP32を入力してエンターで、「esp32 by Esressif Systems」が表示されますので、これをインストールします。インストールが終わったら以下のようにボードを選択します。私の場合は「ESP32 Dev Module」を選択しました。次はボード設定へ続きます。
(2)ESP32-DevKitC-32Dの、ボード設定
ボード設定ですが、Arduino IDEへボード追加した直後の設定のままで良いようです。他のサイトを見ても同じようなことが載せてありました。以下が、ボード追加直後の設定内容です。シリアルポートは使用環境によって異なります。
(3)ESP32-DevKitC-32Dでの、Lチカ
以下は、sketchの記述です。
以下のようにモバイルバッテリーで電源供給しました。
(4)ESP32-DevKitC-32Dに接続したLEDを、スマートフォンでON/OFFする
まずは、WIFIへ接続します。
WIFI接続後、スマートフォンでESP32-DevKitC-32Dに割り当てられたローカルIPアドレスへ接続します。
スマートフォンの、ON/OFFを叩くと、ESP32-DevKitC-32Dに接続したLEDが、点灯・消灯します。
ESP32-DevKitC-32Dは、モバイルバッテリーのみに接続しています。電源供給のみです。スマートフォンはESP32-DevKitC-32DのローカルIPアドレスに接続しています。この状態で、スマートフォンのON/OFFを叩くと、LEDが点灯・消灯します。以下、動画になります。
(5)ESP32-DevKitC-32D 2台でBlueooth接続して、Wireを介さず、LEDをON/OFFする
右側のボードがmasterで、左側のボードがslaveになります。master側の押しボタンSWを押すと、slave側のLEDが点灯します。また、それぞれのボードには、RESET動作の確認用にLEDが付けてあります。なので、master側は、押しボタンSWとLEDが、slave側はLEDが2個付いてます。master側の電源はPCからのUSB接続で、Arduino IDEのシリアルモニタで状態を見てます。一方、slave側はモバイルバッテリーをUSBコネクタに接続して、単体で動作させています。
master、slaveともに、RESET時にはBuiltIN LEDを付けてますので、それらが点滅し、RESETが行われていることが確認できます。以下、RESET動作の動画となります。
以下は、master側をRESETした時の、シリアルモニタの表示です。
シリアルモニタで展開しきれてなかったので、画像を追加してます。上の続きは、「Disconnected Succesfully!」以降を見てください。
以下は、master側押しボタンSWを押した時の、slave側のLEDの点灯状態を撮影してます。
以下、この動画となります。
以下シリアルモニタの画像は、RESET後、LEDが点灯したことを伝えています。「LED is ON.」がそれに当たります。
今回は以上になります。今現在、次の目標を立てて行動中です。(^^;
(6)ESP32-DevKitC-32D 2台でBlueooth接続して、Wireを介さず、Joystickを使ってLEDをON/OFFする。(段々暗くなる、段々明るくなる)
今回はJoystickを使用して、LEDの光量を変化させます。master側にJoystick、slave側にLEDを接続してます。2個のLEDを制御してます。
以下の画像はmaster側の電源供給の様子です。PCからUSBケーブルで電源を供給し、また、Arduino IDEでシリアルモニタにて動作状況を見てます。
以下の画像はslave側の電源供給の様子です。モバイルバッテリーとボードをUSBケーブルで接続してます。
以下の画像2枚は、master側をRESETした時のシリアルモニタの様子です。1枚の画像に入りきらないので、2枚にしてます。データの重複部分が殆どになります。2枚目の「・・・:ESP_SPP_OPEN_EVT」が最終行になります。
以下動画が今回のJoystickを使用した、BlueTooth接続での受信側LEDの調光の様子です。
今回は以上になります。次は何をしようかな。(^^;
(7)ESP32-DevKitC-32D 2台でBlueooth接続して、Wireを介さず、master側、slave側双方にスイッチ(SW)と、LEDを設け双方のスイッチを押下して、master側、slave側のLEDをON/OFFする。
今回も、お題目の通りやっていこうと思ってますが、その前にmaster、slaveのRESETについて確認したことがありますのでお伝えします。
先ず、slave側のRESETですが、プログラムが正常に入っていれば、USB電源等を接続すれば、今回に限り、ソフトが走ると、SETUPの終わりにあるSETUP完了を知らせるLEDの点滅プログラムが走ります。ので、正常に動いていると判断できます。(それでも、プログラムを書き込んだ直後はボードのRESETが必要ですが。また、電源の抜き差しでも良いと思いますが。)なので、slave側ボードについては単独でRESETをすることで。RESET完了となります。しかし、今回はmaster側ボードと言う、通信の相手がいますのでslaveだけでは何もできません。次に、master側のRESETですが、こちらは、slave側の電源が入っていて、RESETが完了していないとRESETができません。(slave側は電源投入と、ほぼ同時にRESET完了となります:Power On Reset)今回は、先ず、これら動画をUPしました。
以上の動画を見てもらえば判ると思いますが、上2つはmaster側電源のON・OFFに関係なく、slave側がRESETできている動画で、3つ目はslave側電源がONの時にmaster側がRESETできている動画です。一番下はslave側電源がOFFの時にmaster側がRESETできない動画です。以上が今回RESETに関して検証した結果でした。
それでは、master、slaveともに正常にRESETできたらどのような動作になるか見てみましょう。以下画像は両者RESET後、master側SWをONとした時のslave側LEDの状態を撮影しています。画像の通りslave側LEDが白く光ってます。
以下画像は両者RESET後、slave側SWをONとした時のmaster側LEDの状態を撮影しています。画像の通りmaster側LEDが白く光ってます。
以上の通り、双方向でのデータの送受信は無事完了しました。以下にこれらの動画を張っておきますのでご確認ください。
今回の課題は以上です。次は何をしようか思案中です。(^^; またね!!
(8)ESP32-DevKitC-32D 2台でESP-NOWという方法でWifi接続?して、master側からslave側のmac-addressを確認、また、slave側からmaster側のmac-addressを確認する。
因みに、slave側mac-addressの最後は、「A0」になります。(間違えて消し込んでしまいました)
master側mac-addressの最後は、「30」になります。
今度は、master側の電源を切って、slave側を受信状態とします。
すると、以下の通りRecv系の表示が出なくなりました。
次は、masterとslaveを入れ替えてみます。(slave側の電源を切って、master側を受信状態)
やはり、以下の通りRecv系の表示が出なくなりました。
ソフトは同じところをグルグル回っていますが、Recvが返ってこないので、表示されていませんでした
以上で、取り敢えずお互いのボード間でmac-addressの送受信を確認できました。色々と試すのはこれからです。一先ずここまで。
(9)ESP32-DevKitC-32D 1台でmac-address(slave側)を確認する。
mac-addressの種類が7個ありました。
1)Default Mac Address (工場出荷時の初期設定のMac Address)
2)EFuse Mac Address ( 電子フューズ溶断のMac Address 一度溶断すると二度とソフトの書き換えができない)
3)System Mac Address (システム制御用Mac Address)
4)WiFi Station Mac Address (WiFi ステーションモードのMac Address)
5)WiFi SoftAP Mac Address (ソフトウェア アクセス ポイント モードのMac Address) 4)に対して +1加算
6)Blue Tooth Mac Address (ブルートゥース用Mac Address) 5)に対して +1加算
7)Ethernet Mac Address (イーサーネット用Mac Address) 6)に対して +1加算
上記1)から4)までは同じMac Addressです。それ以降はAddressが、+1ずつ加算されています。
初心者の私にとっては、難解な部分が多くて苦戦の連続~~!!(^^;